Markup languages and applications associated therewith continue to evolve and become commonplace in today's computing environments. Generally, a markup language describes a set of labels that are embedded within text to distinguish groups of elements or individual elements for display or identification purposes. Typically, these labels are known as “tags”.
Today, extensible markup language (XML) is known as an open standard for describing data. Oftentimes, XML is employed to define data elements with respect to XML documents and/or business-to-business documents. XML is similar in tag structure to Hypertext Markup Language (HTML). However, HTML defines how elements are to be displayed while XML defines the content of the elements.
As such, contrary to HTML which uses predefined tags, XML enables a developer of an XML document or fragment to define tags. Thus, virtually any data item can be identified using XML tags, which allows for richer content.
In addition, the standard method to allow an XML document to be created, accessed or modified is via a document object model (DOM). A standardized specification has been developed that defines the interfaces for the different objects comprising the DOM, but does not provide any specifics for how a DOM should be implemented. Therefore, a programming language that utilizes a DOM compliant with the standard will produce an instance of that DOM that is language-neutral and platform-independent, regardless of how the underlying language implements the model.
Accordingly, while XML provides for a very robust way of describing data and conventional DOMs insure that the resultant XML documents are compatible regardless of the implementation details, traditional methods employed by programmers to create or modify instances of a DOM are difficult and time consuming. For example, creating an instance of a particular DOM requires explicit construction via constructors, factories, and/or imperative update statements to be written by the developer in the underlying programming language. While this explicit construction is often complex, the resulting XML document is generally quite straightforward, but no conventional method exists to adequately simplify this process.